#ifndef __OC_AliasManager_H__
#define __OC_AliasManager_H__

#include "ServerDef.h"
#include "OCMain/Singleton.h"
#include "OCMain/StringUtil.h"
#include "OCMain/FileUtil.h"
#include "json/json.h"

namespace OCPP
{
	class _ServerExport AliasManager : public CSingleton<AliasManager>
	{
	public:
		~AliasManager();
		static AliasManager& getSingleton(void);
		static AliasManager* getSingletonPtr(void);

		void setAutoMakeGZ(String alias, bool value);
		bool isAutoMakeGZ(String alias);
		String getFile(String alias, String fileName);
		String getFilePath(String alias, String fileName);
		bool registerAlias(String alias, String path);
	private:
		std::map<String, bool> _autoMakeGZ;
		StringMap _strPath;
	};
}

#endif